<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>

</body>

</html>

<script>
  // 08-案例：将输入的两次 prompt 值相加，并判断两次是否都输入 数字
  // 需求：判断 每一次输入 必须都是 number，否则 提示 对应这次的输入不是 数字，请刷新后，重新输入：



  // 增加需求：希望对 用户输入的 文本， 自左向右解析
  // 举例： '123.123abc' 需要将其解析为 数字 `123.123`
  var num1 = Number.parseFloat(prompt('请输入数字1'));

  var num2 = Number.parseFloat(prompt('请输入数字2'));

  console.log(num1);

  // 如果 num1 输入的 不是数字，则 alert('你第一次输入不是数字，请刷新后，重新输入！')
  // 只要 num1 的值是 `NaN`，就表示 输入的 不是 数字

  // 第一版：
  /* 正常思路： 下述条件分支，只能执行一个代码块； 但 若 num1 和 num2 都不是 数字，只提示 num1 不是数字！！
  
    if (Number.isNaN(num1)) {
      alert('你第一次输入不是数字，请刷新后，重新输入！');
    } else if (Number.isNaN(num2)) {
      alert('你第二次输入不是数字，请刷新后，重新输入！');
    } else {
      alert(`您两次输入的数字，相加结果值是：${num1 + num2} `);
    }
  
  */



  // 第二版：---- 优化了： 若 num1 和 num2 都不是 数字，会 对 num1 和 num2 均进行提示
  // 执行，表示 num1 不是数字
  if (Number.isNaN(num1)) {
    alert('你第一次输入不是数字，请刷新后，重新输入！');
  }


  // 执行，表示 num2 不是数字
  if (Number.isNaN(num2)) {
    alert('你第二次输入不是数字，请刷新后，重新输入！');
  }


  // 执行，表示 num1 和 num2 必须同时都是数字
  // 只要 num1 和 num2 都是数字，则 `isBothNum` 是  true
  var isBothNum = !Number.isNaN(num1) && !Number.isNaN(num2);
  if (isBothNum) {
    alert(`您两次输入的数字，相加结果值是：${num1 + num2} `);
  }




</script>